/*! art-template@4.13.1 for browser | https://github.com/aui/art-template */
!(function (e, t) {
	'object' == typeof exports && 'object' == typeof module
		? (module.exports = t())
		: 'function' == typeof define && define.amd
		? define([], t)
		: 'object' == typeof exports
		? (exports.template = t())
		: (e.template = t());
})('undefined' != typeof self ? self : this, function () {
	return (function (e) {
		function t(r) {
			if (n[r]) return n[r].exports;
			var i = (n[r] = { i: r, l: !1, exports: {} });
			return e[r].call(i.exports, i, i.exports, t), (i.l = !0), i.exports;
		}
		var n = {};
		return (
			(t.m = e),
			(t.c = n),
			(t.d = function (e, n, r) {
				t.o(e, n) ||
					Object.defineProperty(e, n, {
						configurable: !1,
						enumerable: !0,
						get: r
					});
			}),
			(t.n = function (e) {
				var n =
					e && e.__esModule
						? function () {
								return e['default'];
						  }
						: function () {
								return e;
						  };
				return t.d(n, 'a', n), n;
			}),
			(t.o = function (e, t) {
				return Object.prototype.hasOwnProperty.call(e, t);
			}),
			(t.p = ''),
			t((t.s = 4))
		);
	})([
		function (e, t, n) {
			'use strict';
			var r = n(6),
				i = n(2),
				o = n(22),
				s = function (e, t) {
					t.onerror(e, t);
					var n = function () {
						return '{Template Error}';
					};
					return (n.mappings = []), (n.sourcesContent = []), n;
				},
				a = function u(e) {
					var t =
						arguments.length > 1 && arguments[1] !== undefined
							? arguments[1]
							: {};
					'string' != typeof e ? (t = e) : (t.source = e),
						(t = i.$extend(t)),
						(e = t.source),
						!0 === t.debug &&
							((t.cache = !1), (t.minimize = !1), (t.compileDebug = !0)),
						t.compileDebug && (t.minimize = !1),
						t.filename && (t.filename = t.resolveFilename(t.filename, t));
					var n = t.filename,
						a = t.cache,
						c = t.caches;
					if (a && n) {
						var l = c.get(n);
						if (l) return l;
					}
					if (!e)
						try {
							(e = t.loader(n, t)), (t.source = e);
						} catch (m) {
							var f = new o({
								name: 'CompileError',
								path: n,
								message: 'template not found: ' + m.message,
								stack: m.stack
							});
							if (t.bail) throw f;
							return s(f, t);
						}
					var p = void 0,
						h = new r(t);
					try {
						p = h.build();
					} catch (f) {
						if (((f = new o(f)), t.bail)) throw f;
						return s(f, t);
					}
					var d = function (e, n) {
						try {
							return p(e, n);
						} catch (f) {
							if (!t.compileDebug)
								return (t.cache = !1), (t.compileDebug = !0), u(t)(e, n);
							if (((f = new o(f)), t.bail)) throw f;
							return s(f, t)();
						}
					};
					return (
						(d.mappings = p.mappings),
						(d.sourcesContent = p.sourcesContent),
						(d.toString = function () {
							return p.toString();
						}),
						a && n && c.set(n, d),
						d
					);
				};
			(a.Compiler = r), (e.exports = a);
		},
		function (e, t) {
			Object.defineProperty(t, '__esModule', { value: !0 }),
				(t[
					'default'
				] = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyu]{1,5}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g),
				(t.matchToToken = function (e) {
					var t = { type: 'invalid', value: e[0] };
					return (
						e[1]
							? ((t.type = 'string'), (t.closed = !(!e[3] && !e[4])))
							: e[5]
							? (t.type = 'comment')
							: e[6]
							? ((t.type = 'comment'), (t.closed = !!e[7]))
							: e[8]
							? (t.type = 'regex')
							: e[9]
							? (t.type = 'number')
							: e[10]
							? (t.type = 'name')
							: e[11]
							? (t.type = 'punctuator')
							: e[12] && (t.type = 'whitespace'),
						t
					);
				});
		},
		function (e, t, n) {
			'use strict';
			function r() {
				this.$extend = function (e) {
					return (e = e || {}), o(e, e instanceof r ? e : this);
				};
			}
			var i = n(10),
				o = n(12),
				s = n(13),
				a = n(14),
				u = n(15),
				c = n(16),
				l = n(17),
				f = n(18),
				p = n(19),
				h = n(21),
				d = 'undefined' == typeof window,
				m = {
					source: null,
					filename: null,
					rules: [f, l],
					escape: !0,
					debug: !!d && 'production' !== process.env.NODE_ENV,
					bail: !0,
					cache: !0,
					minimize: !0,
					compileDebug: !1,
					resolveFilename: h,
					include: s,
					htmlMinifier: p,
					htmlMinifierOptions: {
						collapseWhitespace: !0,
						minifyCSS: !0,
						minifyJS: !0,
						ignoreCustomFragments: []
					},
					onerror: a,
					loader: c,
					caches: u,
					root: '/',
					extname: '.art',
					ignore: [],
					imports: i
				};
			(r.prototype = m), (e.exports = new r());
		},
		function (e, t) {},
		function (e, t, n) {
			'use strict';
			var r = n(5),
				i = n(0),
				o = n(23),
				s = function (e, t) {
					return t instanceof Object
						? r({ filename: e }, t)
						: i({ filename: e, source: t });
				};
			(s.render = r), (s.compile = i), (s.defaults = o), (e.exports = s);
		},
		function (e, t, n) {
			'use strict';
			var r = n(0),
				i = function (e, t, n) {
					return r(e, n)(t);
				};
			e.exports = i;
		},
		function (e, t, n) {
			'use strict';
			function r(e, t, n) {
				return (
					t in e
						? Object.defineProperty(e, t, {
								value: n,
								enumerable: !0,
								configurable: !0,
								writable: !0
						  })
						: (e[t] = n),
					e
				);
			}
			function i(e) {
				if (Array.isArray(e)) {
					for (var t = 0, n = Array(e.length); t < e.length; t++) n[t] = e[t];
					return n;
				}
				return Array.from(e);
			}
			function o(e, t) {
				if (!(e instanceof t))
					throw new TypeError('Cannot call a class as a function');
			}
			var s = (function () {
					function e(e, t) {
						for (var n = 0; n < t.length; n++) {
							var r = t[n];
							(r.enumerable = r.enumerable || !1),
								(r.configurable = !0),
								'value' in r && (r.writable = !0),
								Object.defineProperty(e, r.key, r);
						}
					}
					return function (t, n, r) {
						return n && e(t.prototype, n), r && e(t, r), t;
					};
				})(),
				a = n(7),
				u = n(9),
				c = '$data',
				l = '$imports',
				f = 'print',
				p = 'include',
				h = 'extend',
				d = 'block',
				m = '$$out',
				v = '$$line',
				g = '$$blocks',
				y = '$$slice',
				b = '$$from',
				w = '$$options',
				x = function (e, t) {
					return Object.hasOwnProperty.call(e, t);
				},
				k = JSON.stringify,
				E = (function () {
					function e(t) {
						var n,
							s,
							a = this;
						o(this, e);
						var x = t.source,
							k = t.minimize,
							E = t.htmlMinifier;
						if (
							((this.options = t),
							(this.stacks = []),
							(this.context = []),
							(this.scripts = []),
							(this.CONTEXT_MAP = {}),
							(this.ignore = [c, l, w].concat(i(t.ignore))),
							(this.internal =
								((n = {}),
								r(n, m, "''"),
								r(n, v, '[0,0]'),
								r(n, g, 'arguments[1]||{}'),
								r(n, b, 'null'),
								r(
									n,
									f,
									"function(){var s=''.concat.apply('',arguments);" +
										m +
										'+=s;return s}'
								),
								r(
									n,
									p,
									'function(src,data){var s=' +
										w +
										'.include(src,data||' +
										c +
										',arguments[2]||' +
										g +
										',' +
										w +
										');' +
										m +
										'+=s;return s}'
								),
								r(n, h, 'function(from){' + b + '=from}'),
								r(
									n,
									y,
									'function(c,p,s){p=' +
										m +
										';' +
										m +
										"='';c();s=" +
										m +
										';' +
										m +
										'=p+s;return s}'
								),
								r(
									n,
									d,
									"function(){var a=arguments,s;if(typeof a[0]==='function'){return " +
										y +
										'(a[0])}else if(' +
										b +
										'){if(!' +
										g +
										'[a[0]]){' +
										g +
										'[a[0]]=' +
										y +
										'(a[1])}else{' +
										m +
										'+=' +
										g +
										'[a[0]]}}else{s=' +
										g +
										"[a[0]];if(typeof s==='string'){" +
										m +
										'+=s}else{s=' +
										y +
										'(a[1])}return s}}'
								),
								n)),
							(this.dependencies =
								((s = {}),
								r(s, f, [m]),
								r(s, p, [m, w, c, g]),
								r(s, h, [b, p]),
								r(s, d, [y, b, m, g]),
								s)),
							this.importContext(m),
							t.compileDebug && this.importContext(v),
							k)
						)
							try {
								x = E(x, t);
							} catch (T) {}
						(this.source = x),
							this.getTplTokens(x, t.rules, this).forEach(function (e) {
								e.type === u.TYPE_STRING
									? a.parseString(e)
									: a.parseExpression(e);
							});
					}
					return (
						s(e, [
							{
								key: 'getTplTokens',
								value: function () {
									return u.apply(undefined, arguments);
								}
							},
							{
								key: 'getEsTokens',
								value: function (e) {
									return a(e);
								}
							},
							{
								key: 'getVariables',
								value: function (e) {
									var t = !1;
									return e
										.filter(function (e) {
											return 'whitespace' !== e.type && 'comment' !== e.type;
										})
										.filter(function (e) {
											return (
												('name' === e.type && !t) ||
												((t = 'punctuator' === e.type && '.' === e.value), !1)
											);
										})
										.map(function (e) {
											return e.value;
										});
								}
							},
							{
								key: 'importContext',
								value: function (e) {
									var t = this,
										n = '',
										r = this.internal,
										i = this.dependencies,
										o = this.ignore,
										s = this.context,
										a = this.options,
										u = a.imports,
										f = this.CONTEXT_MAP;
									x(f, e) ||
										-1 !== o.indexOf(e) ||
										(x(r, e)
											? ((n = r[e]),
											  x(i, e) &&
													i[e].forEach(function (e) {
														return t.importContext(e);
													}))
											: (n =
													'$escape' === e || '$each' === e || x(u, e)
														? l + '.' + e
														: c + '.' + e),
										(f[e] = n),
										s.push({ name: e, value: n }));
								}
							},
							{
								key: 'parseString',
								value: function (e) {
									var t = e.value;
									if (t) {
										var n = m + '+=' + k(t);
										this.scripts.push({ source: t, tplToken: e, code: n });
									}
								}
							},
							{
								key: 'parseExpression',
								value: function (e) {
									var t = this,
										n = e.value,
										r = e.script,
										i = r.output,
										o = this.options.escape,
										s = r.code;
									i &&
										(s =
											!1 === o || i === u.TYPE_RAW
												? m + '+=' + r.code
												: m + '+=$escape(' + r.code + ')');
									var a = this.getEsTokens(s);
									this.getVariables(a).forEach(function (e) {
										return t.importContext(e);
									}),
										this.scripts.push({ source: n, tplToken: e, code: s });
								}
							},
							{
								key: 'checkExpression',
								value: function (e) {
									for (
										var t = [
												[/^\s*}[\w\W]*?{?[\s;]*$/, ''],
												[
													/(^[\w\W]*?\([\w\W]*?(?:=>|\([\w\W]*?\))\s*{[\s;]*$)/,
													'$1})'
												],
												[/(^[\w\W]*?\([\w\W]*?\)\s*{[\s;]*$)/, '$1}']
											],
											n = 0;
										n < t.length;

									) {
										if (t[n][0].test(e)) {
											var r;
											e = (r = e).replace.apply(r, i(t[n]));
											break;
										}
										n++;
									}
									try {
										return new Function(e), !0;
									} catch (o) {
										return !1;
									}
								}
							},
							{
								key: 'build',
								value: function () {
									var e = this.options,
										t = this.context,
										n = this.scripts,
										r = this.stacks,
										i = this.source,
										o = e.filename,
										s = e.imports,
										a = [],
										f = x(this.CONTEXT_MAP, h),
										d = 0,
										y = function (e, t) {
											var n = t.line,
												i = t.start,
												o = {
													generated: { line: r.length + d + 1, column: 1 },
													original: { line: n + 1, column: i + 1 }
												};
											return (d += e.split(/\n/).length - 1), o;
										},
										E = function (e) {
											return e.replace(/^[\t ]+|[\t ]$/g, '');
										};
									r.push('function(' + c + '){'),
										r.push("'use strict'"),
										r.push(c + '=' + c + '||{}'),
										r.push(
											'var ' +
												t
													.map(function (e) {
														return e.name + '=' + e.value;
													})
													.join(',')
										),
										e.compileDebug
											? (r.push('try{'),
											  n.forEach(function (e) {
													e.tplToken.type === u.TYPE_EXPRESSION &&
														r.push(
															v +
																'=[' +
																[e.tplToken.line, e.tplToken.start].join(',') +
																']'
														),
														a.push(y(e.code, e.tplToken)),
														r.push(E(e.code));
											  }),
											  r.push('}catch(error){'),
											  r.push(
													'throw {' +
														[
															"name:'RuntimeError'",
															'path:' + k(o),
															'message:error.message',
															'line:' + v + '[0]+1',
															'column:' + v + '[1]+1',
															'source:' + k(i),
															'stack:error.stack'
														].join(',') +
														'}'
											  ),
											  r.push('}'))
											: n.forEach(function (e) {
													a.push(y(e.code, e.tplToken)), r.push(E(e.code));
											  }),
										f &&
											(r.push(m + "=''"),
											r.push(p + '(' + b + ',' + c + ',' + g + ')')),
										r.push('return ' + m),
										r.push('}');
									var T = r.join('\n');
									try {
										var O = new Function(l, w, 'return ' + T)(s, e);
										return (O.mappings = a), (O.sourcesContent = [i]), O;
									} catch (P) {
										for (var $ = 0, j = 0, _ = 0, S = void 0; $ < n.length; ) {
											var C = n[$];
											if (!this.checkExpression(C.code)) {
												(j = C.tplToken.line),
													(_ = C.tplToken.start),
													(S = C.code);
												break;
											}
											$++;
										}
										throw {
											name: 'CompileError',
											path: o,
											message: P.message,
											line: j + 1,
											column: _ + 1,
											source: i,
											generated: S,
											stack: P.stack
										};
									}
								}
							}
						]),
						e
					);
				})();
			(E.CONSTS = {
				DATA: c,
				IMPORTS: l,
				PRINT: f,
				INCLUDE: p,
				EXTEND: h,
				BLOCK: d,
				OPTIONS: w,
				OUT: m,
				LINE: v,
				BLOCKS: g,
				SLICE: y,
				FROM: b,
				ESCAPE: '$escape',
				EACH: '$each'
			}),
				(e.exports = E);
		},
		function (e, t, n) {
			'use strict';
			var r = n(8),
				i = n(1)['default'],
				o = n(1).matchToToken,
				s = function (e) {
					return e
						.match(i)
						.map(function (e) {
							return (i.lastIndex = 0), o(i.exec(e));
						})
						.map(function (e) {
							return 'name' === e.type && r(e.value) && (e.type = 'keyword'), e;
						});
				};
			e.exports = s;
		},
		function (e, t, n) {
			'use strict';
			var r = {
				abstract: !0,
				await: !0,
				boolean: !0,
				break: !0,
				byte: !0,
				case: !0,
				catch: !0,
				char: !0,
				class: !0,
				const: !0,
				continue: !0,
				debugger: !0,
				default: !0,
				delete: !0,
				do: !0,
				double: !0,
				else: !0,
				enum: !0,
				export: !0,
				extends: !0,
				false: !0,
				final: !0,
				finally: !0,
				float: !0,
				for: !0,
				function: !0,
				goto: !0,
				if: !0,
				implements: !0,
				import: !0,
				in: !0,
				instanceof: !0,
				int: !0,
				interface: !0,
				let: !0,
				long: !0,
				native: !0,
				new: !0,
				null: !0,
				package: !0,
				private: !0,
				protected: !0,
				public: !0,
				return: !0,
				short: !0,
				static: !0,
				super: !0,
				switch: !0,
				synchronized: !0,
				this: !0,
				throw: !0,
				transient: !0,
				true: !0,
				try: !0,
				typeof: !0,
				var: !0,
				void: !0,
				volatile: !0,
				while: !0,
				with: !0,
				yield: !0
			};
			e.exports = function (e) {
				return r.hasOwnProperty(e);
			};
		},
		function (e, t, n) {
			'use strict';
			function r(e) {
				var t = new String(e.value);
				return (t.line = e.line), (t.start = e.start), (t.end = e.end), t;
			}
			function i(e, t, n) {
				(this.type = e),
					(this.value = t),
					(this.script = null),
					n
						? ((this.line = n.line + n.value.split(/\n/).length - 1),
						  this.line === n.line
								? (this.start = n.end)
								: (this.start = n.value.length - n.value.lastIndexOf('\n') - 1))
						: ((this.line = 0), (this.start = 0)),
					(this.end = this.start + this.value.length);
			}
			var o = function (e, t) {
				for (
					var n =
							arguments.length > 2 && arguments[2] !== undefined
								? arguments[2]
								: {},
						o = [new i('string', e)],
						s = 0;
					s < t.length;
					s++
				)
					for (
						var a = t[s],
							u = a.test.ignoreCase ? 'ig' : 'g',
							c = new RegExp(a.test.source, u),
							l = 0;
						l < o.length;
						l++
					) {
						var f = o[l],
							p = o[l - 1];
						if ('string' === f.type) {
							for (
								var h = void 0, d = 0, m = [], v = f.value;
								null !== (h = c.exec(v));

							)
								h.index > d &&
									((p = new i('string', v.slice(d, h.index), p)), m.push(p)),
									(p = new i('expression', h[0], p)),
									(h[0] = r(p)),
									(p.script = a.use.apply(n, h)),
									m.push(p),
									(d = h.index + h[0].length);
							d < v.length && ((p = new i('string', v.slice(d), p)), m.push(p)),
								o.splice.apply(o, [l, 1].concat(m)),
								(l += m.length - 1);
						}
					}
				return o;
			};
			(o.TYPE_STRING = 'string'),
				(o.TYPE_EXPRESSION = 'expression'),
				(o.TYPE_RAW = 'raw'),
				(o.TYPE_ESCAPE = 'escape'),
				(e.exports = o);
		},
		function (e, t, n) {
			'use strict';
			(function (t) {
				function n(e) {
					return (
						'string' != typeof e &&
							(e =
								e === undefined || null === e
									? ''
									: 'function' == typeof e
									? n(e.call(e))
									: JSON.stringify(e)),
						e
					);
				}
				function r(e) {
					var t = '' + e,
						n = s.exec(t);
					if (!n) return e;
					var r = '',
						i = void 0,
						o = void 0,
						a = void 0;
					for (i = n.index, o = 0; i < t.length; i++) {
						switch (t.charCodeAt(i)) {
							case 34:
								a = '&#34;';
								break;
							case 38:
								a = '&#38;';
								break;
							case 39:
								a = '&#39;';
								break;
							case 60:
								a = '&#60;';
								break;
							case 62:
								a = '&#62;';
								break;
							default:
								continue;
						}
						o !== i && (r += t.substring(o, i)), (o = i + 1), (r += a);
					}
					return o !== i ? r + t.substring(o, i) : r;
				} /*! art-template@runtime | https://github.com/aui/art-template */
				var i =
						'undefined' != typeof self
							? self
							: 'undefined' != typeof window
							? window
							: void 0 !== t
							? t
							: {},
					o = Object.create(i),
					s = /["&'<>]/;
				(o.$escape = function (e) {
					return r(n(e));
				}),
					(o.$each = function (e, t) {
						if (Array.isArray(e))
							for (var n = 0, r = e.length; n < r; n++) t(e[n], n);
						else for (var i in e) t(e[i], i);
					}),
					(e.exports = o);
			}.call(t, n(11)));
		},
		function (e, t) {
			var n;
			n = (function () {
				return this;
			})();
			try {
				n = n || Function('return this')() || (0, eval)('this');
			} catch (r) {
				'object' == typeof window && (n = window);
			}
			e.exports = n;
		},
		function (e, t, n) {
			'use strict';
			var r = Object.prototype.toString,
				i = function (e) {
					return null === e ? 'Null' : r.call(e).slice(8, -1);
				},
				o = function s(e, t) {
					var n = void 0,
						r = i(e);
					if (
						('Object' === r
							? (n = Object.create(t || {}))
							: 'Array' === r && (n = [].concat(t || [])),
						n)
					) {
						for (var o in e)
							Object.hasOwnProperty.call(e, o) && (n[o] = s(e[o], n[o]));
						return n;
					}
					return e;
				};
			e.exports = o;
		},
		function (e, t, n) {
			'use strict';
			var r = function (e, t, r, i) {
				var o = n(0);
				return (
					(i = i.$extend({
						filename: i.resolveFilename(e, i),
						bail: !0,
						source: null
					})),
					o(i)(t, r)
				);
			};
			e.exports = r;
		},
		function (e, t, n) {
			'use strict';
			var r = function (e) {
				console.error(e.name, e.message);
			};
			e.exports = r;
		},
		function (e, t, n) {
			'use strict';
			var r = {
				__data: Object.create(null),
				set: function (e, t) {
					this.__data[e] = t;
				},
				get: function (e) {
					return this.__data[e];
				},
				reset: function () {
					this.__data = {};
				}
			};
			e.exports = r;
		},
		function (e, t, n) {
			'use strict';
			var r = 'undefined' == typeof window,
				i = function (e) {
					if (r) {
						return n(3).readFileSync(e, 'utf8');
					}
					var t = document.getElementById(e);
					return t.value || t.innerHTML;
				};
			e.exports = i;
		},
		function (e, t, n) {
			'use strict';
			var r = {
				test: /{{([@#]?)[ \t]*(\/?)([\w\W]*?)[ \t]*}}/,
				use: function (e, t, n, i) {
					var o = this,
						s = o.options,
						a = o.getEsTokens(i),
						u = a.map(function (e) {
							return e.value;
						}),
						c = {},
						l = void 0,
						f = !!t && 'raw',
						p = n + u.shift(),
						h = function (t, n) {
							console.warn(
								(s.filename || 'anonymous') +
									':' +
									(e.line + 1) +
									':' +
									(e.start + 1) +
									'\nTemplate upgrade: {{' +
									t +
									'}} -> {{' +
									n +
									'}}'
							);
						};
					switch (('#' === t && h('#value', '@value'), p)) {
						case 'set':
							i = 'var ' + u.join('').trim();
							break;
						case 'if':
							i = 'if(' + u.join('').trim() + '){';
							break;
						case 'else':
							var d = u.indexOf('if');
							~d
								? (u.splice(0, d + 1),
								  (i = '}else if(' + u.join('').trim() + '){'))
								: (i = '}else{');
							break;
						case '/if':
							i = '}';
							break;
						case 'each':
							(l = r._split(a)),
								l.shift(),
								'as' === l[1] &&
									(h('each object as value index', 'each object value index'),
									l.splice(1, 1));
							i =
								'$each(' +
								(l[0] || '$data') +
								',function(' +
								(l[1] || '$value') +
								',' +
								(l[2] || '$index') +
								'){';
							break;
						case '/each':
							i = '})';
							break;
						case 'block':
							(l = r._split(a)),
								l.shift(),
								(i = 'block(' + l.join(',').trim() + ',function(){');
							break;
						case '/block':
							i = '})';
							break;
						case 'echo':
							(p = 'print'), h('echo value', 'value');
						case 'print':
						case 'include':
						case 'extend':
							if (0 !== u.join('').trim().indexOf('(')) {
								(l = r._split(a)), l.shift(), (i = p + '(' + l.join(',') + ')');
								break;
							}
						default:
							if (~u.indexOf('|')) {
								var m = a
									.reduce(function (e, t) {
										var n = t.value,
											r = t.type;
										return (
											'|' === n
												? e.push([])
												: 'whitespace' !== r &&
												  'comment' !== r &&
												  (e.length || e.push([]),
												  ':' === n && 1 === e[e.length - 1].length
														? h('value | filter: argv', 'value | filter argv')
														: e[e.length - 1].push(t)),
											e
										);
									}, [])
									.map(function (e) {
										return r._split(e);
									});
								i = m.reduce(function (e, t) {
									var n = t.shift();
									return (
										t.unshift(e), '$imports.' + n + '(' + t.join(',') + ')'
									);
								}, m.shift().join(' ').trim());
							}
							f = f || 'escape';
					}
					return (c.code = i), (c.output = f), c;
				},
				_split: function (e) {
					e = e.filter(function (e) {
						var t = e.type;
						return 'whitespace' !== t && 'comment' !== t;
					});
					for (
						var t = 0, n = e.shift(), r = /\]|\)/, i = [[n]];
						t < e.length;

					) {
						var o = e[t];
						'punctuator' === o.type ||
						('punctuator' === n.type && !r.test(n.value))
							? i[i.length - 1].push(o)
							: i.push([o]),
							(n = o),
							t++;
					}
					return i.map(function (e) {
						return e
							.map(function (e) {
								return e.value;
							})
							.join('');
					});
				}
			};
			e.exports = r;
		},
		function (e, t, n) {
			'use strict';
			var r = {
				test: /<%(#?)((?:==|=#|[=-])?)[ \t]*([\w\W]*?)[ \t]*(-?)%>/,
				use: function (e, t, n, r) {
					return (
						(n = {
							'-': 'raw',
							'=': 'escape',
							'': !1,
							'==': 'raw',
							'=#': 'raw'
						}[n]),
						t && ((r = '/*' + r + '*/'), (n = !1)),
						{ code: r, output: n }
					);
				}
			};
			e.exports = r;
		},
		function (e, t, n) {
			'use strict';
			function r(e) {
				if (Array.isArray(e)) {
					for (var t = 0, n = Array(e.length); t < e.length; t++) n[t] = e[t];
					return n;
				}
				return Array.from(e);
			}
			var i = 'undefined' == typeof window,
				o = function (e, t) {
					if (i) {
						var o,
							s = n(20).minify,
							a = t.htmlMinifierOptions,
							u = t.rules.map(function (e) {
								return e.test;
							});
						(o = a.ignoreCustomFragments).push.apply(o, r(u)), (e = s(e, a));
					}
					return e;
				};
			e.exports = o;
		},
		function (e, t) {
			!(function (e) {
				e.noop = function () {};
			})(
				'object' == typeof e && 'object' == typeof e.exports
					? e.exports
					: window
			);
		},
		function (e, t, n) {
			'use strict';
			var r = 'undefined' == typeof window,
				i = /^\.+\//,
				o = function (e, t) {
					if (r) {
						var o = n(3),
							s = t.root,
							a = t.extname;
						if (i.test(e)) {
							var u = t.filename,
								c = !u || e === u,
								l = c ? s : o.dirname(u);
							e = o.resolve(l, e);
						} else e = o.resolve(s, e);
						o.extname(e) || (e += a);
					}
					return e;
				};
			e.exports = o;
		},
		function (e, t, n) {
			'use strict';
			function r(e, t) {
				if (!(e instanceof t))
					throw new TypeError('Cannot call a class as a function');
			}
			function i(e, t) {
				if (!e)
					throw new ReferenceError(
						"this hasn't been initialised - super() hasn't been called"
					);
				return !t || ('object' != typeof t && 'function' != typeof t) ? e : t;
			}
			function o(e, t) {
				if ('function' != typeof t && null !== t)
					throw new TypeError(
						'Super expression must either be null or a function, not ' +
							typeof t
					);
				(e.prototype = Object.create(t && t.prototype, {
					constructor: {
						value: e,
						enumerable: !1,
						writable: !0,
						configurable: !0
					}
				})),
					t &&
						(Object.setPrototypeOf
							? Object.setPrototypeOf(e, t)
							: (e.__proto__ = t));
			}
			function s(e) {
				var t = e.name,
					n = e.source,
					r = e.path,
					i = e.line,
					o = e.column,
					s = e.generated,
					a = e.message;
				if (!n) return a;
				var u = n.split(/\n/),
					c = Math.max(i - 3, 0),
					l = Math.min(u.length, i + 3),
					f = u
						.slice(c, l)
						.map(function (e, t) {
							var n = t + c + 1;
							return (n === i ? ' >> ' : '    ') + n + '| ' + e;
						})
						.join('\n');
				return (
					(r || 'anonymous') +
					':' +
					i +
					':' +
					o +
					'\n' +
					f +
					'\n\n' +
					t +
					': ' +
					a +
					(s ? '\n   generated: ' + s : '')
				);
			}
			var a = (function (e) {
				function t(e) {
					r(this, t);
					var n = i(
						this,
						(t.__proto__ || Object.getPrototypeOf(t)).call(this, e.message)
					);
					return (
						(n.name = 'TemplateError'),
						(n.message = s(e)),
						Error.captureStackTrace &&
							Error.captureStackTrace(n, n.constructor),
						n
					);
				}
				return o(t, e), t;
			})(Error);
			e.exports = a;
		},
		function (e, t, n) {
			'use strict';
			e.exports = n(2);
		}
	]);
});
